In conventional server systems with multiple network interface cards (NICs), a network packet received by a first NIC that needs to be delivered to a second NIC is typically processed software instructions executed by a central processing unit (CPU) of the server system. This uses the server system CPU, lowers throughput and increases latency for processing network packets. As network traffic continues to increase, continuous efforts are being made to improve network communications.